BUFFERS
DOS용 응용 프로그램은 데이터를 임시로 저장할 공간을 요구하는 경우가 있다. 이처럼 데이터를 임시로 보관하는 메모리를 버퍼라 하는데, BUFFERS 명령어를 사용하여 버퍼의 수를 지정할 수 있다.
워드프로세서 등 대부분의 응용 프로그램은 약 20개 이상의 버퍼를 요구하는 경우도 있는데 이처럼 디폴트로 지원하는 버퍼 수보다 많은 버퍼를 요구하는 응용 프로그램을 실행하기 위하여 버퍼의 수를 변경하여야 한다.
버퍼의 수를 변경하기 위하여 사용하는 명령어가 BUFFERS 명령어인데, 이 명령어는 CONFIG.SYS 안에서만 사용할 수 있다.
■ 사용법
BUFFERS=n[,m]
■ 옵션 및 매개변수

n | 디스크 버퍼의 수를 지정한다. 지정할 수 있는 버퍼의 수는 1∼99 사이의 값이다.
m | 두 번째 캐시에 있는 버퍼의 수를 지정한다. 지정할 수 있는 버퍼의 수는 1∼8 사이의 값이다.

■ 참고 사항
☞ 버퍼의 디폴트 설정
버퍼의 수를 사용자가 지정하지 않는 경우 DOS는 디폴트로 버퍼의 수를 지정한다. 디폴트 버퍼 수는 시스템에 설치되어 있는 메모리와 디스크의 구성에 따라 달라진다.

시스템의 구성 조건 | 버퍼의 수(n) | 소요되는 메모리 량
128K 이하의 메모리, 360K 디스크 | 2 | -
128K 이하의 메모리, 360K보다 큰 디스크 | 3 | -
128K∼255K의 메모리 | 5 | 2672
256K∼511K의 메모리 | 10 | 5328
512K∼640K의 메모리 | 15 | 7984
640K 이상의 메모리 | 20 | 10645

두 번째 캐시에 있는 버퍼의 수(m)는 디폴트로 0이 지정된다. 이것은 두 번째 캐시 버퍼를 지정하지 않는 것과 같은 것이다.
만약, 버퍼의 수를 지정하는 n이나 m에 적절한 값을 지정하지 않는다면 DOS는 디폴트 값을 사용한다.
☞ 두 번째 버퍼 캐시의 사용
캐시를 사용하면 8086 혹은 8088 프로세서를 장착하고 있는 컴퓨터의 디스크의 입출력 속도를 향상시킬 수 있다.
만약, 80286 혹은 그 이상의 프로세서를 사용하는 경우라면 버퍼 캐시를 사용하기 보다는 SMARTDRV라는 디스크 캐시 명령어를 사용하는 것이 오히려 효율적이다. 이 경우 버퍼의 수를 적게 지정하거나 지정하지 않아도 된다.
☞ DOS의 버퍼 사용
DOS는 입출력을 하는 동안 데이터를 임시로 보관하기 위하여 디스크 버퍼를 위하여 할당한 메모리를 사용한다. 일반적으로 워드프로세서와 같은 응용프로그램은 20개의 버퍼를 할당하도록 요구한다. 그러나, 많은 서브 디렉토리를 구성하고자 한다면 버퍼의 수를 30 혹은 그 이상으로 확장할 수 있다.
DOS에서 하나의 버퍼에 약 532바이트의 메모리가 필요하다. 따라서 필요 이상으로 많은 버퍼를 지정하는 경우에는 불필요한 메모리만 소요된다. 즉, 그 만큼 응용 프로그램이 사용하는 메모리 양이 줄어드는 것이다.
DOS가 고위 메모리 영역(HMA)에 있으면 버퍼도 고위 메모리 영역에 있게 된다. 그러나 48개 이상의 버퍼를 지정하는 경우에는 고위 메모리에 이를 수용할 수 없게 된다. 이 경우 버퍼는 상용 메모리에 위치하게 된다.
■ 사용 예
버퍼의 수를 30개로 지정하고자 한다면 Config.sys 파일에 다음과 같은 BUFFERS 명령어를 추가한다. 단, 두 번째 캐시 버퍼는 지정하지 않는 것으로 한다. 이 경우 뒤에 오는 ,0 은 생략할 수 있다.
buffers=30,0